﻿using System;
using System.Collections.Generic;
using MiniStock.Entities.Stock.Events;
using MiniStock.Entities.Stock.Events.Customer;
using MiniStock.Entities.Stock.Events.Order;
using MiniStock.Entities.Stock.Events.Product;
using MiniStock.Infrastructure;

namespace MiniStock.Entities.Stock
{
    public class PluginEntryPoint: IProcessorPluginEntryPoint
    {
        public List<Type> EventRootTypes
        {
            get
            {
                return new List<Type>
                           {
                               typeof (CustomerEventBase),
                               typeof (ProductEventBase),
                               typeof (OrderEventBase)
                           };
            }

        }

        public List<Type> EntityRootTypes
        {
            get { return new List<Type>
                             {
                                 typeof(Customer),
                                 typeof(Product),
                                 typeof(Order),
                                 typeof(OrderItem),
                             }; }
        }
    }
}
